#!/usr/bin/env python
#coding: utf-8
from multiprocessing import Pool
import paramiko

#对IP进行分组

userinfo = {
	'gourp1':(['192.168.5.131','chobit','123456'],
		)
}

def execute_cmd(hostname,username,password,cmd,port=22):
	'''执行命令
	@param hostname:地址
	@param username:用户名
	@param password:密码
	@param cmd:命令
	@param port:端口
	@return:执行命令后返回值
	'''

	ssh = paramiko.SSHClient()
	ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
	ssh.connect(hostname,username,password,port)
	stdin,stdout,stderr = ssh.exec_command(cmd)
	
	result = stdout.read(),stderr.read()

	ssh.close()
	
	return result


#回调函数。对于每一个链接远程执行命令后，调用该函数
def executed(arg):
	'''回调函数
	@param arg:执行命令完成后返回
	'''
	print 1
	return arg
#进程池
pool = Pool(5)

#对一组数据进行批量命令
# for item in userinfo['gourp1']:
pool.apply_async(func=execute_cmd,args=('192.168.5.131','chobit','123456','mkdir test',),callback=executed)

pool.close()
pool.join()